
package com.hd.determine.config.mqtt.data;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * @author 陈泰来
 * @version V1.0
 * @Project supervise-platform-server
 * @Description 实体映射
 * @Package com.hd.sup.config.mqtt.data
 * @date 2021/1/5 4:01 下午
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class MqttData implements Serializable {

    private static final long serialVersionUID = -80465044938244629L;

    /**
     * 上报时间
     */
    @JSONField(name = "reportTime")
    private String gps_time;
    /**
     * 经度，单位为1×1E6
     */
    @JSONField(name = "lng")
    private String lng;
    /**
     * 纬度，单位为1×1E6
     */
    @JSONField(name = "lat")
    private String lat;
    /**
     * 速度，卫星定位车载终端上传的行车速度信息，单位（km/h)
     */
    @JSONField(name = "vec1")
    private String speed;
    /**
     * 行驶记录速度，行驶记录仪上传的行车速度，单位（km/h）
     */
    @JSONField(name = "vec2")
    private String add_speed;
    /**
     * 车辆当前总里程数，单位（km）
     */
    @JSONField(name = "vec3")
    private String total_mileage;
    /**
     * 方向，0～359，单位为度，正北为0，顺时针
     */
    @JSONField(name = "direction")
    private String direction;
    /**
     * 海拨高度，单位（m）
     */
    @JSONField(name = "altitude")
    private String alt;
    /**
     * 车辆状态，二进制表示  808 表17
     */
    @JSONField(name = "state")
    private String vehicle_status;
    /**
     * 报警状态 二进制表示    808 表18
     */
    @JSONField(name = "alarm")
    private String alarm_type;
    /**
     * 车牌号 例如鄂A10000
     */
    @JSONField(name = "vin")
    private String plat_no;
    /**
     * 车牌颜色编号    1蓝    2黄  3黑   4白     9其他
     */
    @JSONField(name = "vehicleColour")
    private String plat_no_color;
    /**
     * 企业唯一的ID
     */
    @JSONField(name = "enterpriseID")
    private String enterprise_no;
    /**
     * 企业接入码
     */
    @JSONField(name = "accessCode")
    private String access_code;
    /**
     * 属性信息，标明该数据是实时位置信息
     */
    @JSONField(name = "dataAttr")
    private String data_attr;
    /**
     * 上线状态
     */
    @JSONField(name = "online")
    private String online_status;
    /**
     * 最后登录时间
     */
    @JSONField(name = "lastLoginTime")
    private String last_login_time;
    /**
     * 最后登出时间
     */
    @JSONField(name = "lastLogOutTime")
    private String last_logout_time;
    /**
     * 司机名称
     */
    @JSONField(name = "driverName")
    private String driver_name;
    /**
     * 终端编号 terminalNo
     */
    @JSONField(name = "terminalNo")
    private String terminalNo;

    /*驾驶员信息中扩展字段*/
    /**
     * 驾驶员id
     */
    @JSONField(name = "driverID")
    private String driverId;
    /**
     * 驾照
     */
    @JSONField(name = "driverLicence")
    private String driverLicence;
    /**
     * 驾驶组织信息
     */
    @JSONField(name = "driverOrgName")
    private String driverOrgName;
    /**
     * 距离
     */
    @JSONField(name = "distance")
    private Integer distance;
}
